/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fiad.gui.events;

import fiad.gui.MainFrame;
import fiad.gui.panels.BetriebePanel;
import fiad.gui.panels.KlassenPanel;
import fiad.gui.panels.SchuelerPanel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JComboBox;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;

/**
 *
 * @author MJ
 */
public class SchuelerPanelListener extends MouseAdapter implements DocumentListener, ActionListener {

    JRadioButton otherButton;
    JTextField txtOther;
    SchuelerPanel schuelerPanel;
    JComboBox cbxAusbildungsbetrieb;

    public SchuelerPanelListener(SchuelerPanel schuelerPanel, JRadioButton otherButton, JTextField txtOther, JComboBox cbxAusbildungsbetrieb) {
        this.otherButton = otherButton;
        this.txtOther = txtOther;
        this.schuelerPanel = schuelerPanel;
        this.cbxAusbildungsbetrieb = cbxAusbildungsbetrieb;
    }

    @Override
    public void mouseClicked(MouseEvent e) {

        if (e.getSource().equals(txtOther)) {
            otherButton.setSelected(true);
        }

    }

    public void insertUpdate(DocumentEvent e) {
        textChanged(e);
    }

    public void removeUpdate(DocumentEvent e) {
        textChanged(e);
    }

    public void changedUpdate(DocumentEvent e) {
        textChanged(e);
    }

    private void textChanged(DocumentEvent e) {

        otherButton.setSelected(true);
        otherButton.setText(txtOther.getText());

    }

    public void actionPerformed(ActionEvent e) {


        if (e.getActionCommand().startsWith("MODUS")) {
            schuelerPanel.aendereModus(e.getActionCommand());
        } else if (e.getSource().equals(cbxAusbildungsbetrieb)) {
            schuelerPanel.aktualisiereAusbilderliste();
        } else if (e.getActionCommand().equals(SchuelerPanel.ACTION_FUEGE_BETRIEB_HINZU)) {
            schuelerPanel.switchToOtherPanel(MainFrame.CARDS_BETRIEBE, BetriebePanel.MODUS_BETRIEB_EXT_HINZUFUEGEN, null);
        } else if (e.getActionCommand().equals(SchuelerPanel.ACTION_FUEGE_AUSBILDER_HINZU)) {
            schuelerPanel.switchToOtherPanel(MainFrame.CARDS_BETRIEBE, BetriebePanel.MODUS_AUSBILDER_EXT_HINZUFUEGEN, new Object[]{schuelerPanel.getSelectedBetrieb()});
        } else if (e.getActionCommand().equals(SchuelerPanel.ACTION_FUEGE_KLASSE_HINZU)) {
            schuelerPanel.switchToOtherPanel(MainFrame.CARDS_KLASSEN, KlassenPanel.MODUS_KLASSE_HINZUFUEGEN_EXT, null);
        } else if (e.getActionCommand().equals(SchuelerPanel.ACTION_ZEIGE_ZEUGNISSE)) {
            schuelerPanel.zeigeZeugnisse();
        }




    }
}
